package week03.saas;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by zhangxiaokun on 2018/2/8.
 * 2. 一个SAAS应用，会为每一个租户创建唯一一个Mananger实例，请选用合适的模式，
 根据租户ID得到对应的Mananger实例。并实现相关代码。
 只需要实现结构，具体功能可以用空方法替代。

 用多例模式(无上限多例)
 */
public class Manager {
    private Integer userId;
    //key:租户id,  value:Mananger
    private static Map<Integer, Manager> managerMap = new HashMap<>();
    private Manager(){}

    public static Manager getMananger(int userId) {
        return managerMap.get(userId);
    }

    //把实例化 从获取实例方法中拆分出来
    public static void userAppRegister(int userId) {
        Manager mananger = managerMap.get(userId);
        if (mananger == null) {
            mananger = new Manager();
            mananger.userId = userId;
            managerMap.put(userId, mananger);
        }
    }
}
